package com.bana.sys.utils;

import com.bana.sys.model.User;

import java.util.Date;

/**
 * token
 */
public class Token {

    public static String SystemToken="c3lzdGVtfHwwfHwxNTk2NDQ4MTIzMDEw";

    /**
     * 根据用户名获取token
     * @param user 用户
     * @return token
     */
    public static String getToken(User user)
    {
        String token=user.getYhmc()+"|"+
//                user.getRybm()+"|"+
//                user.getXm()+"|"+
                user.getSj()+"|"+
                user.getJgbm()+"|"+
                user.getJgmc()+"|"+
                new Date().getTime();
        return Encryption.base64Encript(token);
    }

    /**
     * 根据token获取用户名
     * @param token token
     * @return 用户名
     */
    public static User getUser(String token)
    {
        if(token==null)
        {
            User user= new User();
            user.setYhmc("System");
            return user;
        }
        try
        {
            String value= Encryption.base64Decrypt(token);
            String[] datas=value.split("\\|");
            User user=new User();
            user.setYhmc(datas[0]);
//            user.setRybm(Integer.parseInt(datas[1]));
//            user.setXm(datas[2]);
            user.setSj(datas[1]);
            user.setJgbm(Integer.parseInt(datas[2]));
            user.setJgmc(datas[3]);
            return user;
        }
        catch (Exception e)
        {
            return new User();
        }
    }

    /**
     * 根据token获取时间戳
     * @param token token
     * @return 时间戳
     */
    public static long getTimeStamp(String token)
    {
        try
        {
            String value=Encryption.base64Decrypt(token);
            String[] datas=value.split("\\|");
            return Long.parseLong(datas[datas.length-1]);
        }
        catch (Exception e)
        {
            return 0;
        }
    }
}
